////////////////////////////////////////////////////////////////////////////////
// Filename: positionclass.h
////////////////////////////////////////////////////////////////////////////////
#ifndef _POSITIONCLASS_H_
#define _POSITIONCLASS_H_


//////////////
// INCLUDES //
//////////////
#include <math.h>


////////////////////////////////////////////////////////////////////////////////
// Class name: PositionClass
////////////////////////////////////////////////////////////////////////////////
class PositionClass
{
public:
	PositionClass();
	PositionClass(const PositionClass&);
	~PositionClass();

	void SetFrameTime(float);
	void GetYRotation(float&);
	void GetZRotation(float&);
	void GetMovementForward(float&);
	void GetMovementRight(float&);
	//Cameraview
	void TurnLeft(bool);
	void TurnRight(bool);
	void TurnUp(bool);
	void TurnDown(bool);
	//Camerapositioning
	void MoveForward(bool);
	void MoveBackward(bool);
	void MoveLeft(bool);
	void MoveRight(bool);

private:
	float m_frameTime;
	//Rotation variables
	float m_rotationY;
	float m_leftTurnSpeed, m_rightTurnSpeed;
	float m_rotationZ;
	float m_upTurnSpeed, m_downTurnSpeed;
	//Movementvariables
	float m_speedmultiplier;
	float m_forwardSpeed, m_backwardSpeed;
	float m_rightSpeed, m_leftSpeed;
};

#endif